#include "LoginProxy.h"

#include "AppFacade.h"

#include "ConstString.h"

/**
 * @brief LoginProxy构造函数
 * 初始化父类Proxy，设置代理名称
 */
LoginProxy::LoginProxy(void)
    :Proxy(LOGIN_PROXY_NAME, "")
{
}

/**
 * @brief LoginProxy析构函数
 */
LoginProxy::~LoginProxy(void)
{
}

/**
 * @brief 处理登录请求
 * 设置登录结果消息，更新内部登录数据，并发送登录成功通知
 * @param loginValue 包含用户名和密码的登录数据对象
 * @return 始终返回true表示登录处理成功
 */
bool LoginProxy::RequsetToLogin(data::LoginVO & loginValue)
{
    loginValue.strLoginRst = "welcome " + loginValue.strUsername + ", login Success!";
    m_loginValue = loginValue;
    AppFacade::getInstance().sendNotification(STR_NOTIFY_LOGIN_SUC);
    return true;
}

/**
 * @brief 获取登录结果
 * 返回存储在成员变量中的登录结果字符串
 * @return 登录结果字符串
 */
std::string LoginProxy::GetLoginRst(void)
{
    return m_loginValue.strLoginRst;
}
